﻿using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;

using SBPweb.PROvibe.Server.Library.Base;
using SBPweb.PROvibe.Shared.Library.Components;

namespace SBPweb.PROvibe.Server.Library.Contracts
{

    [DataContract]
    public class Suite : Actor, ISuite
    {

        #region Fields

        protected ObservableCollection<IModule> modules = new ObservableCollection<IModule>();

        #endregion

        #region Constructor logic

        public Suite()
            : base()
        {
            Modules = new ReadOnlyObservableCollection<IModule>(modules);
        }

        #endregion

        #region Properties

        [IgnoreDataMember]
        public virtual ReadOnlyCollection<IModule> Modules
        {
            get;
            private set;
        }

        #endregion

    }

}